#ifndef DOC_EDITOR_MENU_BAR_WIDGET_H
#define DOC_EDITOR_MENU_BAR_WIDGET_H

#include <QWidget>

namespace Ui {
class DocEditorMenuBarWidget;
}

class DocEditorMenuBarWidget : public QWidget
{
    Q_OBJECT

public:
    explicit DocEditorMenuBarWidget(QWidget *parent = nullptr);
    ~DocEditorMenuBarWidget();
    void setFontFamily(QString fontFamily);
    void setFontSize(int fontSize);
    void setFontBold(bool enabled);
    void setFontIncline(bool enabled);
    QString getFontSizeNameByPixelSize(int pixelSize);

private:
    void initUi();
    void initEvents();
    void initFontFamilyComboBox();
    void initFontSizeComboBox();

signals:
    /* 插入表格信号 */
    void insertTable(int rows, int cols);
    /* 保存文档信号 */
    void saveTriggered();
    /* 字体选择信号 */
    void selectFontFamily(QString fontFamily);
    /**
     * 字号选择信号
     */
    void selectFontSize(int pixelSize);
    /* 字号增加 */
    void fontSizePlus();
    /* 字号减小 */
    void fontSizeSub();
    /* 字体加粗 */
    void fontBold(bool enabled);
    /* 字体倾斜 */
    void fontIncline(bool enabled);
    /* 左对齐 */
    void alignLeft();
    /* 居中对齐 */
    void alignCenter();
    /* 右对齐 */
    void alignRight();

private:
    Ui::DocEditorMenuBarWidget *ui;
    QHash<QString, int>      *m_sizeNameToPixelSize;
    QHash<int, QString>      *m_pixelSizeToSizeName;
};

#endif // DOC_EDITOR_MENU_BAR_WIDGET_H
